package com.example.web.entity;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Enums {

    /**
     *角色枚举
     */
    public enum RoleType
    {
        /**
         * 管理员
         */
        管理员(0),

        /**
         * 用户
         */
        用户(1);


        private final int index;

        RoleType(int index)
        {
            this.index = index;
        }

        public int index() {
            return index;
        }


		  private static final HashMap<Integer,RoleType> MY_MAP = new HashMap<Integer,RoleType>();
        static {
            for (RoleType myEnum : values()) {
                MY_MAP.put(myEnum.index(), myEnum);
            }
        }
      
        public String toString() {

            return name();
        }
        public static RoleType GetEnum(Integer v)
        {
           if(v==null){
                return MY_MAP.values().stream().findFirst().get();
            }
            return MY_MAP.get(v);
        }
    }


    /**
     *订单状态枚举
     */
    public enum OrderStatus
    {
        /**
         * 等待双方确认
         */
        等待双方确认(0),



        /**
         * 等待交易
         */
        等待交易(2),

        /**
         * 交易完成
         */
        交易完成(3),



        /**
         * 取消
         */
        取消(4);


        private final int index;

        OrderStatus(int index)
        {
            this.index = index;
        }

        public int index() {
            return index;
        }
        private static final HashMap<Integer,OrderStatus> MY_MAP = new HashMap<Integer,OrderStatus>();
        static {
            for (OrderStatus myEnum : values()) {
                MY_MAP.put(myEnum.index(), myEnum);
            }
        }
        public static OrderStatus GetEnum(Integer v)
        {
            if(v==null){
                return MY_MAP.values().stream().findFirst().get();
            }
            return MY_MAP.get(v);
        }

    }


    /**
     *审核状态枚举
     */
    public enum AuditStatus
    {
        /**
         * 待审核
         */
        待审核(0),

        /**
         * 审核通过
         */
        审核通过(1),

        /**
         * 审核失败
         */
        审核失败(2);


        private final int index;

        AuditStatus(int index)
        {
            this.index = index;
        }

        public int index() {
            return index;
        }
        private static final HashMap<Integer,AuditStatus> MY_MAP = new HashMap<Integer,AuditStatus>();
        static {
            for (AuditStatus myEnum : values()) {
                MY_MAP.put(myEnum.index(), myEnum);
            }
        }
        public static AuditStatus GetEnum(Integer v)
        {
            if(v==null){
                return MY_MAP.values().stream().findFirst().get();
            }
            return MY_MAP.get(v);
        }

    }
}
